home *** CD-ROM | disk | FTP | other *** search
/ ETO Development Tools 2 / ETO Development Tools 2.iso / Tools - Objects / MacApp / MacApp CD Release / MacApp 2.0.1 (Many Libraries) / Tools / Build Rules and Dependencies < prev    next >
Encoding:
Text File  |  1990-10-25  |  10.4 KB  |  388 lines  |  [TEXT/MPS ]

  1. # Copyright © 1984-1990 by Apple Computer Inc.  All rights reserved.
  2. #    Build Rules and Dependencies
  3.  
  4.  
  5. ###########################################################
  6. # Default build rules
  7. ###########################################################
  8. .a.o    ƒ    .a
  9.     {MAEcho} {EchoOptions} "Assembling:    {default}.a"
  10.     {MAAsm} ∂
  11.         {AsmOptions} ∂
  12.         {OtherAsmOptions} ∂
  13.         {AsmLoadOptions} ∂
  14.         -i "{SrcApp}" ∂
  15.         -i "{MAAIncludes}" ∂
  16.         -i "{MAAStructMacs}" ∂
  17.         -o {targDir}{default}.a.o ∂
  18.         {depDir}{default}.a
  19.  
  20. .c.o    ƒ    .c
  21.     {MAEcho} {EchoOptions} "Compiling:     {default}.c"
  22.     {MAC} ∂
  23.         {COptions} ∂
  24.         {OtherCOptions} ∂
  25.         -i "{SrcApp}" ∂
  26.         -i "{MACIncludes}" ∂
  27.         -o {targDir}{default}.c.o ∂
  28.         {depDir}{default}.c
  29.  
  30. .cp.o    ƒ    .cp
  31.     {MAEcho} {EchoOptions} "Compiling:     {default}.cp"
  32.     {MACPlus} ∂
  33.         {CPlusOptions} ∂
  34.         {OtherCPlusOptions} ∂
  35.         {CPlusLoadOptions} ∂
  36.         -i "{SrcApp}" ∂
  37.         -i "{MACIncludes}" ∂
  38.         -o {targDir}{default}.cp.o ∂
  39.         {depDir}{default}.cp
  40.  
  41. .p.o    ƒ    .p
  42.     {MAEcho} {EchoOptions} "Compiling:     {default}.p"
  43.     {MAPascal} ∂
  44.         {PascalOptions} ∂
  45.         {OtherPascalOptions} ∂
  46.         {PascalLoadOptions} ∂
  47.         -i "{SrcApp}" ∂
  48.         -i "{MAPInterfaces}" ∂
  49.         -o {targDir}{default}.p.o ∂
  50.         {depDir}{default}.p
  51.  
  52. .rsrc    ƒ    .r
  53.     {MAEcho} {EchoOptions} "Rezzing:       {default}.r"
  54.     SET XToolStartTime `DATE -n`
  55.     IF "{OtherViewTypesSrc}" != ""
  56.         SET OtherViewTypesSrc "{OtherViewTypesSrc}"
  57.         SET XIncludeOtherViewTypes 1
  58.         EXPORT OtherViewTypesSrc
  59.     ELSE
  60.         SET XIncludeOtherViewTypes 0
  61.     END
  62.     {MARez} ∂
  63.         -d XIncludeOtherViewTypes={XIncludeOtherViewTypes} ∂
  64.         -i "{SrcApp}" ∂
  65.         -i "{MARIncludes}" ∂
  66.         -o {targDir}{default}.rsrc ∂
  67.         -s "{ObjApp}" ∂
  68.         -s "{MALibraries}{SeparateObjectsFolder}" ∂
  69.         -s "{SrcApp}" ∂
  70.         -t "'rsrc'" -c "'RSED'" ∂
  71.         {RezOptions} ∂
  72.         {OtherRezOptions} ∂
  73.         {depDir}{default}.r
  74.     IF "{XTimes}"
  75.         {MAEcho} {EchoOptions} Elapsed time: `evaluate ∂`DATE -n ∂` - {XToolStartTime}` seconds
  76.     END
  77.  
  78. ###########################################################
  79. # D E P E N D E N C I E S
  80. ###########################################################
  81. # Trigger for the application build
  82. "{ObjApp}"        ƒ    "{SrcApp}"
  83.  
  84.  
  85. #{AppName} dependencies
  86. "{ObjApp}{AppName}"                    ƒƒ ∂
  87.                                     "{BuildFlags}" ∂
  88.                                     {MacAppLib} ∂
  89.                                     {NeededSysLibs} ∂
  90.                                     {OtherLinkFiles} ∂
  91.                                     "{XAppName.p.o}" ∂
  92.                                     "{XAppName.cp.o}" ∂
  93.                                     "{XUAppName.p.o}" ∂
  94.                                     "{XUAppName.cp.o}" ∂
  95.                                     "{XMAppName.p.o}" ∂
  96.                                     "{XMAppName.cp.o}"
  97.     {MAEcho} {EchoOptions} "Linking:       {AppName}"
  98.     SET XToolStartTime `DATE -n`
  99.     {MALink} ∂
  100.         "{XAppName.p.o}" ∂
  101.         "{XUAppName.p.o}" ∂
  102.         "{XMAppName.p.o}" ∂
  103.         "{XAppName.cp.o}" ∂
  104.         "{XUAppName.cp.o}" ∂
  105.         "{XMAppName.cp.o}" ∂
  106.         {OtherLinkFiles} ∂
  107.         {MacAppLib} ∂
  108.         {NeededSysLibs} ∂
  109.         {SegmentMappings} ∂
  110.         {OtherSegMappings} ∂
  111.         -o "{ObjApp}{AppName}" ∂
  112.         {XLinkXRef} ∂
  113.         {XLinkMap} ∂
  114.         {LinkOptions} ∂
  115.         {OtherLinkOptions} ∂
  116.         ||  (∂ 
  117.         IF `EXISTS "{ObjApp}M{AppName}.p.o"` == '' ∂
  118.             SetFile -m . "{ObjApp}M{AppName}.p.o"; ∂
  119.             end; ∂
  120.         IF `EXISTS "{ObjApp}M{AppName}.cp.o"` == '' ∂
  121.             SetFile -m . "{ObjApp}M{AppName}.cp.o"; ∂
  122.             end; ∂
  123.          Exit 99)
  124.     IF "{XTimes}"
  125.         {MAEcho} {EchoOptions} Elapsed time: `evaluate ∂`DATE -n ∂` - {XToolStartTime}` seconds
  126.     END
  127.  
  128.  
  129. #{AppName} dependencies
  130. "{ObjApp}{AppName}"                    ƒƒ ∂
  131.                                     "{XAppRezSrc}" ∂
  132.                                     "{BuildFlags}" ∂
  133.                                     {MacAppResources} ∂
  134.                                     {MacAppRIntf} ∂
  135.                                     {OtherViewTypesSrc} ∂
  136.                                     {OtherRezFiles} ∂
  137.                                     {OtherRsrcFiles}
  138.     IF "{XAutoRez}"
  139.         {MAEcho} {EchoOptions} "AutoRezzing:   Default.r"
  140.     ELSE
  141.         {MAEcho} {EchoOptions} "Rezzing:       {AppName}.r"
  142.     END
  143.     SET XToolStartTime `DATE -n`
  144.     IF "{OtherViewTypesSrc}" != ""
  145.         SET OtherViewTypesSrc "{OtherViewTypesSrc}"
  146.         SET XIncludeOtherViewTypes 1
  147.         EXPORT OtherViewTypesSrc
  148.     ELSE
  149.         SET XIncludeOtherViewTypes 0
  150.     END
  151.     {MARez} ∂
  152.         -d XIncludeOtherViewTypes={XIncludeOtherViewTypes} ∂
  153.         -i "{SrcApp}" ∂
  154.         -i "{MARIncludes}" ∂
  155.         -o "{MATemporaries}MABuild{MATempFilesExtension}" ∂
  156.         -s "{ObjApp}" ∂
  157.         -s "{MALibraries}{SeparateObjectsFolder}" ∂
  158.         -s "{SrcApp}" ∂
  159.         {RezOptions} ∂
  160.         {OtherRezOptions} ∂
  161.         "{XAppRezSrc}" ∂
  162.         {OtherRezFiles}
  163.         || (SetFile -m . "{SrcApp}{AppName}.r"; Exit 99)
  164.     IF "{XTimes}"
  165.         {MAEcho} {EchoOptions} Elapsed time: `evaluate ∂`DATE -n ∂` - {XToolStartTime}` seconds
  166.     END
  167.     {MAEcho} {EchoOptions} "PostRezzing:   {AppName}"
  168.     {MAPostRez} ∂
  169.         {PostRezOptions} ∂
  170.         {OtherPostRezOptions} ∂
  171.         "{MATemporaries}MABuild{MATempFilesExtension}"
  172.     Duplicate "{MATemporaries}MABuild{MATempFilesExtension}" "{ObjApp}{AppName}" -y
  173.     Delete "{MATemporaries}MABuild{MATempFilesExtension}" -y
  174.  
  175. #{AppName} dependencies
  176. "{ObjApp}{AppName}"                    ƒƒ ∂
  177.                                     "{XMakeIt}"
  178.     {MAEcho} {EchoOptions} " ∂"{ObjApp}{AppName}∂"  # <- Execute to run your application"
  179.     IF "{XRunAfterBuild}"
  180.         {MAEcho} {EchoOptions} "Running:       ∂"{ObjApp}{AppName}∂""
  181.         "{ObjApp}{AppName}"
  182.     END
  183.  
  184.  
  185. # Dependencies for the "Magically" named files
  186. "{ObjApp}M{AppName}.p.o"            ƒ ∂
  187.                                     "{XUAppName.p}" ∂
  188.                                     {BuildingBlocksPascalIntf} ∂
  189.                                     {MacAppPascalIntf} ∂
  190.                                     {PascalLoad} ∂
  191.                                     {OtherInterfaces}
  192. "{ObjApp}U{AppName}.p.o"            ƒ ∂
  193.                                     {XUAppName.inc.p} ∂
  194.                                     {BuildingBlocksPascalIntf} ∂
  195.                                     {MacAppPascalIntf} ∂
  196.                                     {PascalLoad} ∂
  197.                                     {OtherInterfaces}
  198. "{ObjApp}{AppName}.p.o"                ƒ ∂
  199.                                     {BuildingBlocksPascalIntf} ∂
  200.                                     {MacAppPascalIntf} ∂
  201.                                     {PascalLoad} ∂
  202.                                     {OtherInterfaces}
  203.  
  204. #C++
  205. "{ObjApp}M{AppName}.cp.o"            ƒ ∂
  206.                                     "{XUAppName.h}" ∂
  207.                                     {BuildingBlocksCPlusIntf} ∂
  208.                                     {MacAppCPlusIntf} ∂
  209.                                     {CPlusLoad} ∂
  210.                                     {OtherInterfaces}
  211. "{ObjApp}U{AppName}.cp.o"            ƒ ∂
  212.                                     "{XUAppName.h}" ∂
  213.                                     {BuildingBlocksCPlusIntf} ∂
  214.                                     {MacAppCPlusIntf} ∂
  215.                                     {CPlusLoad} ∂
  216.                                     {OtherInterfaces}
  217. "{ObjApp}{AppName}.cp.o"            ƒ ∂
  218.                                     {BuildingBlocksCPlusIntf} ∂
  219.                                     {MacAppCPlusIntf} ∂
  220.                                     {CPlusLoad} ∂
  221.                                     {OtherInterfaces}
  222.  
  223.  
  224.  
  225. # "Dump" files for assembler
  226.  
  227. "{MALoadFiles}{SeparateObjectsFolder}ProgStrucMacs.d" ƒ    "{MAAStructMacs}ProgStrucMacs.a"
  228.     {MAEcho} {EchoOptions} "Asm Load:      ProgStrucMacs.d"
  229.     {MAAsm} ∂
  230.         -o dev:Null ∂
  231.         "{MAAStructMacs}ProgStrucMacs.a"
  232.     Duplicate ProgStrucMacs.d "{MALoadFiles}{SeparateObjectsFolder}" -y
  233.     Delete ProgStrucMacs.d  -y
  234.  
  235. "{MALoadFiles}{SeparateObjectsFolder}FlowCtlMacs.d" ƒ "{MAAStructMacs}FlowCtlMacs.a"
  236.     {MAEcho} {EchoOptions} "Asm Load:      FlowCtlMacs.d"
  237.     {MAAsm} ∂
  238.         -o dev:Null ∂
  239.         "{MAAStructMacs}FlowCtlMacs.a"
  240.     Duplicate FlowCtlMacs.d "{MALoadFiles}{SeparateObjectsFolder}" -y
  241.     Delete FlowCtlMacs.d  -y
  242.  
  243. # Load/Dump files must be kept current for C++ too
  244. {CPlusLoadFiles}    ƒ    {MacAppCPlusIntf}
  245.     {MAEcho} {EchoOptions} "C++ Load/Dump: UMacApp.h.dump"
  246.     IF `EXISTS {CPlusLoad}` != ''
  247.         Delete {CPlusLoad}
  248.         END
  249.     {MACPlus} ∂
  250.         {CPlusOptions} ∂
  251.         {OtherCPlusOptions} ∂
  252.         -i "{SrcApp}" ∂
  253.         -i "{MACIncludes}" ∂
  254.         "{MACIncludes}UMacApp.h" ∂
  255.         -mf ∂
  256.         # Any other files you want to include in the dump could go here ∂
  257.         -dumpc {CPlusLoad} || (Delete {CPlusLoad})
  258.  
  259.  
  260. ###########################################################
  261. # T O O L   D E P E N D E N C I E S
  262. ###########################################################
  263. "{ObjApp}{ToolName}"                ƒƒ ∂
  264.                                             "{BuildFlags}" ∂
  265.                                             {MacAppLib} ∂
  266.                                             {MacAppToolLib} ∂
  267.                                             {NeededSysLibs} ∂
  268.                                             {OtherLinkFiles} ∂
  269.                                             "{XAppName.p.o}" ∂
  270.                                             "{XAppName.cp.o}" ∂
  271.                                             "{XUAppName.p.o}" ∂
  272.                                             "{XUAppName.cp.o}" ∂
  273.                                             "{XMAppName.p.o}" ∂
  274.                                             "{XMAppName.cp.o}"
  275.     {MAEcho} {EchoOptions} "Linking:       {ToolName}"
  276.     SET XToolStartTime `DATE -n`
  277.     {MALink} ∂
  278.         "{XAppName.p.o}" ∂
  279.         "{XUAppName.p.o}" ∂
  280.         "{XMAppName.p.o}" ∂
  281.         "{XAppName.cp.o}" ∂
  282.         "{XUAppName.cp.o}" ∂
  283.         "{XMAppName.cp.o}" ∂
  284.         {OtherLinkFiles} ∂
  285.         "{Libraries}Stubs.o" ∂
  286.         {MacAppToolLib} ∂
  287.         {NeededSysLibs} ∂
  288.         {MacAppLib} ∂
  289.         {SegmentMappings} ∂
  290.         {OtherSegMappings} ∂
  291.         -o "{ObjApp}{ToolName}" -t 'MPST' -c 'MPS ' ∂
  292.         {XLinkXRef} ∂
  293.         {XLinkMap} ∂
  294.         {LinkOptions} ∂
  295.         {OtherLinkOptions} ∂
  296.         ||  (∂ 
  297.         IF `EXISTS "{ObjApp}{ToolName}.p.o"` == '' ∂
  298.             SetFile -m . "{ObjApp}{ToolName}.p.o"; ∂
  299.             end; ∂
  300.         IF `EXISTS "{ObjApp}{ToolName}.cp.o"` == '' ∂
  301.             SetFile -m . "{ObjApp}{ToolName}.cp.o"; ∂
  302.             end; ∂
  303.          Exit 99)
  304.     IF "{XTimes}"
  305.         {MAEcho} {EchoOptions} Elapsed time: `evaluate ∂`DATE -n ∂` - {XToolStartTime}` seconds
  306.     END
  307.  
  308. #ToolName dependencies
  309. "{ObjApp}{ToolName}.p.o"            ƒ ∂
  310.                                     {MacAppToolIntf}
  311.  
  312. "{MALibraries}{SeparateObjectsFolder}" ƒ "{MATools}"
  313.  
  314. {MacAppToolLib}            ƒ ∂
  315.                                     "{MALibraries}{SeparateObjectsFolder}UMPWTool.p.o"
  316.     {MAEcho} {EchoOptions} "Libbing:       MacAppTool.lib"
  317.     SET XToolStartTime `DATE -n`
  318.     {MALib} ∂
  319.         {LibOptions} ∂
  320.         {OtherLibOptions} ∂
  321.         "{MALibraries}{SeparateObjectsFolder}UMPWTool.p.o" ∂
  322.         -o {MacAppToolLib}
  323.     IF "{XTimes}"
  324.         {MAEcho} {EchoOptions} Elapsed time: `evaluate ∂`DATE -n ∂` - {XToolStartTime}` seconds
  325.     END
  326.         
  327.  
  328. "{ObjApp}{ToolName}"                ƒƒ ∂
  329.                                     "{SrcApp}{ToolName}.r" ∂
  330.                                     {OtherViewTypesSrc}
  331.     {MAEcho} {EchoOptions} "Rezzing:       {ToolName}"
  332.     SET XToolStartTime `DATE -n`
  333.     IF "{OtherViewTypesSrc}" != ""
  334.         SET OtherViewTypesSrc "{OtherViewTypesSrc}"
  335.         SET XIncludeOtherViewTypes 1
  336.         EXPORT OtherViewTypesSrc
  337.     ELSE
  338.         SET XIncludeOtherViewTypes 0
  339.     END
  340.     {MARez} ∂
  341.         -d XIncludeOtherViewTypes={XIncludeOtherViewTypes} ∂
  342.         -i "{SrcApp}" ∂
  343.         -i "{MARIncludes}" ∂
  344.         -o "{MATemporaries}MABuild{MATempFilesExtension}" ∂
  345.         -s "{ObjApp}" ∂
  346.         -s "{MALibraries}{SeparateObjectsFolder}" ∂
  347.         -s "{SrcApp}" ∂
  348.         -t 'MPST' -c 'MPS ' ∂
  349.         {RezOptions} ∂
  350.         {OtherRezOptions} ∂
  351.         "{SrcApp}{ToolName}.r" ∂
  352.         {OtherRezFiles}
  353.     IF "{XTimes}"
  354.         {MAEcho} {EchoOptions} Elapsed time: `evaluate ∂`DATE -n ∂` - {XToolStartTime}` seconds
  355.     END
  356.     Duplicate "{MATemporaries}MABuild{MATempFilesExtension}" "{ObjApp}{ToolName}" -y
  357.     Delete "{MATemporaries}MABuild{MATempFilesExtension}" -y
  358.  
  359. #{ToolName} dependencies
  360. "{ObjApp}{ToolName}"                    ƒƒ ∂
  361.                                     "{XMakeIt}"
  362.     {MAEcho} {EchoOptions} " ∂"{ObjApp}{ToolName}∂"  # <- Execute to run your tool"
  363.     IF "{XRunAfterBuild}"
  364.         {MAEcho} {EchoOptions} "Running:       ∂"{ObjApp}{ToolName}∂""
  365.         "{ObjApp}{ToolName}"
  366.     END
  367.  
  368.  
  369.  
  370. ###########################################################
  371. # L I B R A R Y   D E P E N D E N C I E S
  372. ###########################################################
  373. "{ObjApp}{LibName}"                ƒƒ ∂
  374.                                     {LibObjs}
  375.     IF {MacAppLibrary} || {LibName} !~ /MacApp.lib/ # Special trick to keep MacApp libraries from building
  376.         {MAEcho} {EchoOptions} "Libbing:       {LibName}"
  377.         SET XToolStartTime `DATE -n`
  378.         {MALib} ∂
  379.             {LibOptions} ∂
  380.             {OtherLibOptions} ∂
  381.             {LibObjs} ∂
  382.             -o "{ObjApp}{LibName}"
  383.         IF "{XTimes}"
  384.             {MAEcho} {EchoOptions} Elapsed time: `evaluate ∂`DATE -n ∂` - {XToolStartTime}` seconds
  385.         END
  386.     END
  387.  
  388.